﻿using SHKF.B2C.MeiTuanShanGou.Model.Push.Order.PoiReceiveDetail;
using System;
using System.Collections.Generic;
using System.Text;

namespace SHKF.B2C.MeiTuanShanGou.Model.Push.Order
{
    public class OrderPush
    {
        public long app_poi_code { get; set; }

        /// <summary>
        /// 订单号，数据库中请用bigint(20)存储此字段
        /// </summary>
        public long order_id { get; set; }

        /// <summary>
        /// 订单信息，8代表处方药，23代表医保药
        /// </summary>
        //public List<int> order_tag_list { get; set; }

        /// <summary>
        /// 订单展示ID，
        /// 与用户端、商家端订单详情中展示的订单号码一致。数据库中请用bigint(20)存储此字段
        /// </summary>
        public long wm_order_id_view { get; set; }

        /// <summary>
        /// 商家门店名称，即美团平台上当前订单所属门店的名称。
        /// </summary>
        public string wm_poi_name { get; set; }

        /// <summary>
        /// 商家门店地址
        /// </summary>
        public string wm_poi_address { get; set; }

        /// <summary>
        /// 商家门店联系电话
        /// </summary>
        public string wm_poi_phone { get; set; }


        /// <summary>
        /// 订单收货人地址
        /// </summary>
        public string recipient_address { get; set; }

        //订单收货人地址
        public recipient_address_detail recipient_address_detail { get; set; }

        /// <summary>
        /// 订单收货人联系电话
        /// </summary>
        public string recipient_phone { get; set; }

        ///// <summary>
        ///// 备用隐私号，此字段是列表格式，多个隐私号用英文逗号隔开；
        ///// 当无备用隐私号时，则此字段推送内容为[]
        ///// </summary>
        //public List<string> backup_recipient_phone { get; set; }

        /// <summary>
        /// 订单收货人姓名
        /// </summary>
        public string recipient_name { get; set; }

        /// <summary>
        /// 门店配送费，单位是元。
        /// 当前订单产生时该门店的配送费（商家自配送运费或美团配送运费），此字段数据为运费优惠前的原价。
        /// </summary>
        public decimal shipping_fee { get; set; }

        /// <summary>
        /// 订单的实际在线支付总价，单位是元。
        /// 此字段数据为用户实际支付的订单总金额，含打包袋、配送费等
        /// </summary>
        public decimal total { get; set; }

        /// <summary>
        /// 订单的总原价，单位是元。
        /// 此字段数据为未扣减所有优惠前订单的总金额，含打包袋、配送费等
        /// </summary>
        public decimal original_price { get; set; }

        /// <summary>
        /// 订单备注信息
        /// </summary>
        public string caution { get; set; }

        /// <summary>
        /// 配送员联系电话
        /// </summary>
        public string shipper_phone { get; set; }

        /// <summary>
        /// 订单状态
        /// 1-用户已提交订单；2-向商家推送订单；4-商家已确认；8-订单已完成；9-订单已取消
        /// </summary>
        public int status { get; set; }

        /// <summary>
        /// 城市id
        /// </summary>
        public long city_id { get; set; }

        /// <summary>
        /// 是否支持开发票：0-不支持，1-支持
        /// </summary>
        public int has_invoiced { get; set; }

        /// <summary>
        /// 发票抬头，为用户填写的开发票的抬头
        /// </summary>
        public string invoice_title { get; set; }

        /// <summary>
        /// 纳税人识别号，
        /// 此字段信息默认不推送，如商家支持订单开发票，可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“27 纳税人识别号
        /// </summary>
        public string taxpayer_id { get; set; }

        /// <summary>
        /// 订单创建时间，为10位秒级的时间戳
        /// </summary>
        public long ctime { get; set; }

        /// <summary>
        /// 订单更新时间，为10位秒级的时间戳
        /// </summary>
        public long utime { get; set; }

        /// <summary>
        /// 预计送达时间 秒级
        /// </summary>
        public long delivery_time { get; set; }

        /// <summary>
        /// 是否是第三方配送平台配送，0-否（含商家自配送和美团配送，目前无法区分，
        /// 具体配送方式建议参考logistics_code字段。）；1-是（第三方平台配送）
        /// </summary>
        public int is_third_shipping { get; set; }

        /// <summary>
        /// 支付类型：1-货到付款，2-在线支付。
        /// 目前订单只支持在线支付，此字段推送信息为2。
        /// </summary>
        public int pay_type { get; set; }


        /// <summary>
        /// 取货类型：0-普通(配送),1-用户到店自取。此字段的信息默认不推送，
        /// 商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“28 取餐类型订阅字段
        /// </summary>
        public int pick_type { get; set; }

        /// <summary>
        /// 订单收货地址的纬度
        /// </summary>
        public double latitude { get; set; }

        /// <summary>
        /// 订单收货地址的经度
        /// </summary>
        public double longitude { get; set; }

        /// <summary>
        /// 当日订单流水号，门店每日已支付订单的流水号从1开始。
        /// </summary>
        public int day_seq { get; set; }

        /// <summary>
        /// 订单用户是否收藏此门店：true-是， false-否
        /// </summary>
        public bool is_favorites { get; set; }

        /// <summary>
        /// 订单用户是否第一次在此门店下单
        /// </summary>
        public bool is_poi_first_order { get; set; }

        /// <summary>
        /// 是否为预售单
        /// true-是，false-否。如果为预售单，可以订阅estimate_arrival_time字段获取预计发货时间
        /// </summary>
        public bool is_pre_sale_order { get; set; }

        /// <summary>
        /// 用餐人数
        /// </summary>
        public int dinners_number { get; set; }

        /// <summary>
        /// 订单配送方式
        /// </summary>
        public string logistics_code { get; set; }

        /// <summary>
        /// 订单维度的商家对账信息，json格式数据。该信息默认不推送
        /// </summary>
        public string poi_receive_detail { get; set; }

        /// <summary>
        /// poi_receive_detail
        /// </summary>
        public string detail { get; set; }

        /// <summary>
        /// 订单优惠信息，其值为由list序列化得到的json字符串
        /// </summary>
        public string extras { get; set; }

        /// <summary>
        /// 门店平均送货时长，单位是秒
        /// </summary>
        public double avg_send_time { get; set; }

        /// <summary>
        /// 订单维度的打包袋金额，单位是分
        /// </summary>
        public int package_bag_money { get; set; }

        /// <summary>
        /// 订单预计送达时间，为10位秒级的时间戳
        /// </summary>
        public int estimate_arrival_time { get; set; }

        /// <summary>
        /// 订单维度的打包袋金额，单位是元
        /// </summary>
        public string package_bag_money_yuan { get; set; }

        /// <summary>
        /// 订单重量（该信息默认不返回，可在开发者中心订阅），单位为克/g
        /// </summary>
        public long total_weight { get; set; }

        /// <summary>
        /// 订单数据状态标记
        /// </summary>
        public int incmp_code { get; set; }

        ///// <summary>
        ///// 有降级的数据模块的集合
        ///// </summary>
        //public List<int> incmp_modules { get; set; }

        /// <summary>
        /// 推送订单的预订人手机号
        /// </summary>
        public string order_phone_number { get; set; }

        /// <summary>
        /// 订单用户会员信息
        /// </summary>
        public string user_member_info { get; set; }


        /// <summary>
        /// 商品优惠详情
        /// </summary>
        public string sku_benefit_detail { get; set; }

        /// <summary>
        /// 订单维度的商家对账信息
        /// </summary
        public string poi_receive_detail_yuan { get; set; }

        /// <summary>
        /// 医保商品详情
        /// </summary>
        public string medicare_detail { get; set; }

        /// <summary>
        /// 医保报销信息 
        /// </summary>
        public string medicare_info { get; set; }
    }
}
